package com.yxq.mdt.app.modules.personal.model;

import com.yxq.mdt.app.modules.personal.bean.RechargeListBean;
import com.yxq.mdt.app.modules.personal.bean.RechargePayResultBean;
import com.yxq.mdt.app.modules.personal.bean.RechargeWxPayResultBean;
import com.yxq.mdt.app.modules.withdraw.bean.WithDrawResultBean;

import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * @author L
 * @time 2019-11-25
 * @describe 充值相关API$
 */
public interface RechargeAPI {

    /**
     * 充值列表
     */
    @GET("lbs/gs/sugarPrice/selectPageInfoAndroid")
    Observable<RechargeListBean> selectPageInfoAndroid(@Query("pageNum") int pageNum, @Query("pageSize") int pageSize);

    /**
     * 蜜豆>充值-下单
     *
     * @param money    蜜豆数量
     * @param platform 平台 1安卓 2ios 3pc
     * @param sugarId  蜜豆价格表id
     * @return
     */
    @POST("/lbs/gsWxPay/insertRecharge")
    @FormUrlEncoded
    Observable<RechargePayResultBean> recharge(@Field("money") long money, @Field("platform") int platform, @Field("sugarId") int sugarId);

    /**
     * 蜜豆>充值-微信支付
     *
     * @param orderId 充值下单操作返回的orderId
     * @return
     */
    @POST("/lbs/gsPay/wxPay")
    @FormUrlEncoded
    Observable<RechargeWxPayResultBean> wxPay(@Field("orderId") int orderId);

    /**
     * 蜜钻>提现
     *
     * @param honeyDrill 蜜钻数量
     * @param platform   提现平台 1安卓 2ios 3pc
     * @param type       提现方式 1--支付宝 2--银行卡
     * @param mobile     支付宝账号(提现方式为 1必填)
     * @param name       支付宝姓名或者开户行人姓名
     * @param bankNo     银行卡号
     * @param bankName   开户行名称
     * @return
     */
    @POST("lbs/deposit/InsertCashDrill")
    @FormUrlEncoded
    Observable<WithDrawResultBean> cashdrill(@Field("honeyDrill") String honeyDrill, @Field("platform") int platform, @Field("type") int type, @Field("mobile") String mobile, @Field("name") String name, @Field("bankNo") String bankNo, @Field("bankName") String bankName, @Field("contactPhone") String contactPhone);

}
